package com.zretc.service;

import com.github.pagehelper.PageInfo;
import com.zretc.entity.Film;
import com.zretc.entity.FilmActor;
import com.zretc.entity.FilmTypeRelation;

import java.util.List;
import java.util.Map;

/**
 * @author 陈波
 * 影片service层
 */
public interface FilmService {
    /**
     * @author 陈波
     * 添加一部电影
     * @param film 影片对象
     * @return 影响行数
     */
    boolean insertFilm(Film film);

    /**
     * @author 陈波
     * 根据影片编号删除影片
     * @param filmId 影片编号
     * @return 影响行数
     */
    boolean deleteFilmByFilmId(Integer filmId);

    /**
     * @author 陈波
     * 根据影片编号修改影片信息
     * @param film 影片对象
     * @return 影响行数
     */
    boolean updateFilmByFilmId(Film film);

    /**
     * @author 陈波
     * 多条件查询
     *      根据影片名称模糊查询
     *      根据上映时间模糊查询
     *      根据演员模糊查询
     *      根据类型模糊查询
     *      根据影片状态精确查询
     * @param params
     *      pageNum 分页页码
     *      pageSize 分页条数
     *      filmName 影片名称
     *      filmReleaseTime 上映时间
     *      actorName 演员名称
     *      filmTypeName 类型名称
     *      filmStatus 影片状态
     * @return
     */
    PageInfo<Film> getFilmByCondition(Map<String, String> params);

    /**
     * @author 陈波
     * 查看影片详情信息
     * @param filmId 影片编号
     * @return
     */
    Map<String, Object> getFilmByFilmId(Integer filmId);

    /**
     * @author 陈波
     * 文件导出
     * @return List<Film>
     */
    List<Film> getFilmListByexport();

}
